package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import io.swagger.v3.oas.annotations.media.Schema;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.data.annotation.Transient;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 社工对象 jiajia_worker
 *
 * @author ruoyi
 * @date 2021-10-13
 */
public class JiajiaWorker extends JiajiaWorkerRenzheng {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private Long id;

    /**
     * 姓名
     */
    @Excel(name = "姓名")
    @Schema(name = "姓名")
    private String name;

    /**
     * 头像
     */
    @Excel(name = "头像")
    @Schema(name = "头像")
    private String avatar;

    /**
     * 正面照
     */
    @Excel(name = "正面照")
    @Schema(name = "正面照")
    private String artAvatar;

    /**
     * 状态 0 已休息 1 可服务 2禁用 3待审核
     */
    @Excel(name = "状态 0 已休息 1 可服务 2禁用 3待审核")
    @Schema(name = "状态 0 已休息 1 可服务 2禁用 3待审核")
    private Integer status;

    /**
     * 个人描述
     */
    @Excel(name = "个人描述")
    @Schema(name = "个人描述")
    private String des;

    /**
     * 评分
     */
    @Excel(name = "评分")
    @Schema(name = "评分")
    private Double score;

    /**
     * 服务数量
     */
    @Excel(name = "服务数量")
    @Schema(name = "服务数量")
    private Integer num;

    /**
     * 拒绝服务数量
     */
    @Excel(name = "拒绝服务数量")
    @Schema(name = "拒绝服务数量")
    private Integer unNum;

    /**
     * 添加时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm.ss")
    @Excel(name = "添加时间", width = 30, dateFormat = "yyyy-MM-dd")
    @Schema(name = "添加时间")
    private Date addtime;

    /**
     * 性别 1男 2女
     */
    @Excel(name = "性别 1男 2女")
    @Schema(name = "性别 1男 2女")
    private Integer sex;

    /**
     * 身份1已认证 2未认证
     */
    @Excel(name = "身份1已认证 2未认证")
    @Schema(name = "身份1已认证 2未认证")
    private Integer codeAuth;

    /**
     * 纬度
     */
    @Excel(name = "纬度")
    @Schema(name = "纬度")
    private String lat;

    /**
     * 经度
     */
    @Excel(name = "经度")
    @Schema(name = "经度")
    private String lng;

    /**
     * 服务范围 单位KM
     */
    @Excel(name = "服务范围 单位KM")
    @Schema(name = "服务范围 单位KM")
    private Integer scope;

//    /**开始服务时间*/
//    private String starTime;
//    /**结束服务时间*/
//    private String endTime;
    /**
     * 当前所在地区id
     */
    private Integer cityId;

    /**
     * 社工电话
     */
    @Schema(name = "社工电话")
    private String phone;

    @Schema(name = "社工电话")
    private Long quantity;

    /**
     * 社工相册路径
     */
    private String wpurl;

    /**
     * 项目名字
     */
    private String iName;

    /**
     * 是否可用 0可用 1不可用
     */
    private Integer del;

    /**
     * 邀请人
     */
    @Schema(name = "邀请人")
    private String inviter;

    @Schema(name = "年龄")
    private Integer age;


    @Schema(name = "户籍所在地")
    private String registeredResidence;


    @Schema(name = "职业认定")
    private String professionalCertification;


    @Transient//关注数
    private Integer interestCount ;


    @Transient//是否关注1关注0未关注
    private Integer interest ;

    @Transient//是否关注1关注0未关注
    private Integer fans ;

    public Integer getFans() {
        return fans;
    }

    public void setFans(Integer fans) {
        this.fans = fans;
    }

    @Transient//是否点赞 1点赞0未点赞
    private Integer isLike ;

    public Integer getIsLike() {
        return isLike;
    }

    public void setIsLike(Integer isLike) {
        this.isLike = isLike;
    }

    public Integer getInterestCount() {
        return interestCount;
    }

    public void setInterestCount(Integer interestCount) {
        this.interestCount = interestCount;
    }

    public Integer getInterest() {
        return interest;
    }

    public void setInterest(Integer interest) {
        this.interest = interest;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getRegisteredResidence() {
        return registeredResidence;
    }

    public void setRegisteredResidence(String registeredResidence) {
        this.registeredResidence = registeredResidence;
    }

    public String getProfessionalCertification() {
        return professionalCertification;
    }

    public void setProfessionalCertification(String professionalCertification) {
        this.professionalCertification = professionalCertification;
    }

    /**
     * 余额
     */
    private BigDecimal money;

    private Long commentsNumber;

    public Long getCommentsNumber() {
        return commentsNumber;
    }

    public void setCommentsNumber(Long commentsNumber) {
        this.commentsNumber = commentsNumber;
    }

    public BigDecimal getMoney() {
        return money;
    }

    public void setMoney(BigDecimal money) {
        this.money = money;
    }

    public String getInviter() {
        return inviter;
    }

    public void setInviter(String inviter) {
        this.inviter = inviter;
    }

    public Integer getDel() {
        return del;
    }

    public void setDel(Integer del) {
        this.del = del;
    }

    public String getiName() {
        return iName;
    }

    public void setiName(String iName) {
        this.iName = iName;
    }

    public Integer getUnNum() {
        return unNum;
    }

    public void setUnNum(Integer unNum) {
        this.unNum = unNum;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

//    public String getStarTime() {
//        return starTime;
//    }
//
//    public void setStarTime(String starTime) {
//        this.starTime = starTime;
//    }
//
//    public String getEndTime() {
//        return endTime;
//    }
//
//    public void setEndTime(String endTime) {
//        this.endTime = endTime;
//    }

    public Integer getCityId() {
        return cityId;
    }

    public void setCityId(Integer cityId) {
        this.cityId = cityId;
    }

    public String getWpurl() {
        return wpurl;
    }

    public void setWpurl(String wpurl) {
        this.wpurl = wpurl;
    }

    public Double getScore() {
        return score;
    }

    public void setScore(Double score) {
        this.score = score;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setArtAvatar(String artAvatar) {
        this.artAvatar = artAvatar;
    }

    public String getArtAvatar() {
        return artAvatar;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getStatus() {
        return status;
    }

    public void setDes(String des) {
        this.des = des;
    }

    public String getDes() {
        return des;
    }

    public void setNum(Integer num) {
        this.num = num;
    }

    public Integer getNum() {
        return num;
    }

    public void setAddtime(Date addtime) {
        this.addtime = addtime;
    }

    public Date getAddtime() {
        return addtime;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }

    public Integer getSex() {
        return sex;
    }

    public void setCodeAuth(Integer codeAuth) {
        this.codeAuth = codeAuth;
    }

    public Integer getCodeAuth() {
        return codeAuth;
    }

    public void setLat(String lat) {
        this.lat = lat;
    }

    public String getLat() {
        return lat;
    }

    public void setLng(String lng) {
        this.lng = lng;
    }

    public String getLng() {
        return lng;
    }

    public void setScope(Integer scope) {
        this.scope = scope;
    }

    public Integer getScope() {
        return scope;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("name", getName())
                .append("avatar", getAvatar())
                .append("artAvatar", getArtAvatar())
                .append("status", getStatus())
                .append("des", getDes())
                .append("score", getScore())
                .append("num", getNum())
                .append("addtime", getAddtime())
                .append("sex", getSex())
                .append("codeAuth", getCodeAuth())
                .append("lat", getLat())
                .append("lng", getLng())
                .append("scope", getScope())
                .append("region", getRegion())
                .append("inviter", getInviter())
                .append("commentsNumber", getCommentsNumber())
                .toString();
    }

    public Long getQuantity() {
        return quantity;
    }

    public void setQuantity(Long quantity) {
        this.quantity = quantity;
    }
}
